package com.erp.collect.service;


import com.ruoyi.collect.api.domain.bo.ErpKakaCollectProductBo;
import com.ruoyi.collect.api.domain.vo.ErpKakaCollectProductVo;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.oldPage.TableDataInfo;

import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * 采集商品
 *
 * @author erp
 * @date 2024-05-16
 */
public interface IErpKakaCollectProductService {

    /**
     * 查询采集商品
     */
    ErpKakaCollectProductVo queryById(Long id);

    /**
     * 查询采集商品列表
     */
    TableDataInfo<ErpKakaCollectProductVo> queryPageList(ErpKakaCollectProductBo bo, PageQuery pageQuery);

    /**
     * 查询采集商品列表
     */
    List<ErpKakaCollectProductVo> queryList(ErpKakaCollectProductBo bo);

    /**
     * 新增采集商品
     */
    Boolean insertByBo(ErpKakaCollectProductBo bo);

    /**
     * 修改采集商品
     */
    Boolean updateByBo(ErpKakaCollectProductBo bo);

    /**
     * 校验并批量删除采集商品信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /**
     * @Description: 根据商品ID，获取商品所有的图片信息
     * @Author: j.zh
     * @Date: 2024/5/16
     * @param id
     * @return
     * @Version: 4.0.0
    **/
    Map<String, Object> queryImgUrlById(Long id);

    /**
     * @Description: 根据Map集合，更新商品所有图片
     * @Author: j.zh
     * @Date: 2024/5/16
     * @param map
     * @return
     * @Version: 4.0.0
    **/
    void updateProductImgs(Map<String, Object> map);

    /**
     * @Description: 根据ID和左滑右滑指令，获取下一个商品图片集合
     * @Author: j.zh
     * @Date: 2024/5/16
     * @param id
     * @param next
     * @return
     * @Version: 4.0.0
    **/
    Map<String, Object> queryImgUrlByIdAndNext(Long id, Integer next);

    /**
     * @Description: 生成白底图
     * @Author: j.zh
     * @Date: 2024/5/16
     * @param imgUrl
     * @return
     * @Version: 4.0.0
    **/
    String generateWhite(String imgUrl);

    /**
     * @Description: 生成营销图
     * @Author: j.zh
     * @Date: 2024/5/16
     * @param imgUrl
     * @return
     * @Version: 4.0.0
    **/
    String generateMarketing(String imgUrl);

}
